/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * TulostusMuokkaus.java
 *
 * Created on Mar 23, 2009, 2:41:10 PM
 */
package kayttoliittyma;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import opintopaivakirja.Kayttaja;
import opintopaivakirja.Memo;
import opintopaivakirja.Muistiinpano;
import opintopaivakirja.Projekti;
import opintopaivakirja.Tavoite;

/**
 *
 * @author tommi
 */
public class TulostusMuokkaus extends javax.swing.JDialog {

    String datetime;
    int fonttivalinta;

    /** Creates new form TulostusMuokkaus */
    /**
     * Tulostusmuokkaus-metodi vastaanottaa projektin tiedot käyttäjältä ja muodostaa sopivan olion tulostusta varten
     * @param parent
     * @param modal
     * @param kayttaja Vastaanottaa käyttäjä-olion
     * @param projekti Vastaanottaa projekti-olion
     */
    public TulostusMuokkaus(javax.swing.JFrame parent, boolean modal, Kayttaja kayttaja, Projekti projekti) {
        super(parent, modal);

        //this.kayttaja = kayttaja;
        //this.projekti = projekti;

        tkayttaja = new Kayttaja(
                kayttaja.getEtunimi(),
                kayttaja.getSukunimi(),
                kayttaja.getSahkoposti(),
                kayttaja.getOtunnus(),
                kayttaja.getRtunnus(),
                "",
                "");

        tprojekti = new Projekti(projekti.getNimi(),
                projekti.getEsittely(),
                projekti.getArviointi(),
                projekti.getLinkki(),
                projekti.getArvosana(),
                projekti.getArvosana_oma(),
                projekti.getIsa(),
                projekti.getAsema(),
                projekti.getPvm_alku(),
                projekti.getPvm_loppu());
        tprojekti.setMuistiinpanot(projekti.getMuistiinpanot());
        tprojekti.setLapsiprojektit(projekti.getLapsiprojektit());

        initComponents();

        jLabelEtunimi.setText(tkayttaja.getEtunimi());
        jLabelSukunimi.setText(tkayttaja.getSukunimi());
        jLabelOtunnus.setText(tkayttaja.getOtunnus());
        jLabelRtunnus.setText(tkayttaja.getRtunnus());
        jLabelEmail.setText(tkayttaja.getSahkoposti());

        jLabelPOtsikko.setText(tprojekti.getNimi());


//        if (projekti.getMuistiinpanot().size() > 0){
//                    for (Muistiinpano tavoite : projekti.getMuistiinpanot()) {
//                        if (tavoite instanceof Tavoite) {
//
//                            jLabelMPOtsikko.setText(tavoite.getOtsikko()); // Tavoite, eli otsikko
//
//                            for (Muistiinpano memo : projekti.getMuistiinpanot()) {
//                                if (memo.getIsa() == tavoite.getId()) { // jos muistiinpano kuuluu tavoitteen alle
//                                   jmemo.getAsia(); // Tavoitteen alle kuuluva mp
//                                   if(memo.getLinkit().size() > 0){
//                                       memo.getLinkit().get(0).getUrl(); // jos n-määrä niin for-loopilla
//                                   }
//                                }
//                            }
//                        }
//                    }
//                }

        DateFormat muotoilu = new SimpleDateFormat("dd.MM.yyyy");
        Date pvm = new Date();
        datetime = muotoilu.format(pvm);
        jLabelPVM.setText(datetime);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jButtonTulosta = new javax.swing.JButton();
        jPanelPaperi = new javax.swing.JPanel();
        jLabelEtunimi = new javax.swing.JLabel();
        jLabelSukunimi = new javax.swing.JLabel();
        jLabelOtunnus = new javax.swing.JLabel();
        jLabelRtunnus = new javax.swing.JLabel();
        jLabelPOtsikko = new javax.swing.JLabel();
        jLabelPKuvaus = new javax.swing.JLabel();
        jLabelPLinkki = new javax.swing.JLabel();
        jLabelMPOtsikko = new javax.swing.JLabel();
        jLabelMPTeksti = new javax.swing.JLabel();
        jLabelArviointi = new javax.swing.JLabel();
        jLabelArviointiteksti = new javax.swing.JLabel();
        jLabelEmail = new javax.swing.JLabel();
        jLabelTOtsikko = new javax.swing.JLabel();
        jLabelPVM = new javax.swing.JLabel();
        jLabelMPTeksti1 = new javax.swing.JLabel();
        jLabelTOtsikko1 = new javax.swing.JLabel();
        jCheckBoxEtunimi = new javax.swing.JCheckBox();
        jCheckBoxSukunimi = new javax.swing.JCheckBox();
        jCheckBoxOtunnus = new javax.swing.JCheckBox();
        jButtonPeruuta = new javax.swing.JButton();
        jCheckBoxRtunnus = new javax.swing.JCheckBox();
        jLabelPaaOtsikko = new javax.swing.JLabel();
        jLabelSelite = new javax.swing.JLabel();
        jCheckBoxPOtsikko = new javax.swing.JCheckBox();
        jCheckBoxPKuvaus = new javax.swing.JCheckBox();
        jCheckBoxPLinkki = new javax.swing.JCheckBox();
        jCheckBoxMuistiinpanoOtsikko = new javax.swing.JCheckBox();
        jCheckBoxArviointi = new javax.swing.JCheckBox();
        jCheckBoxEmail = new javax.swing.JCheckBox();
        jCheckBoxTavoite = new javax.swing.JCheckBox();
        jSeparator1 = new javax.swing.JSeparator();
        jCheckBoxPVM = new javax.swing.JCheckBox();
        jComboBoxFontti = new javax.swing.JComboBox();
        jCheckBoxMuistiinpanotTeksti = new javax.swing.JCheckBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setResizable(false);

        jButtonTulosta.setText("Tulosta");
        jButtonTulosta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonTulostaActionPerformed(evt);
            }
        });

        jPanelPaperi.setBackground(new java.awt.Color(244, 244, 244));
        jPanelPaperi.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED, java.awt.Color.white, new java.awt.Color(1, 1, 1)));

        jLabelEtunimi.setFont(new java.awt.Font("DejaVu Sans", 0, 9));
        jLabelEtunimi.setText("Etunimi");

        jLabelSukunimi.setFont(new java.awt.Font("DejaVu Sans", 0, 9));
        jLabelSukunimi.setText("Sukunimi");

        jLabelOtunnus.setFont(new java.awt.Font("DejaVu Sans", 0, 9));
        jLabelOtunnus.setText("Opiskelijatunnus");

        jLabelRtunnus.setFont(new java.awt.Font("DejaVu Sans", 0, 9));
        jLabelRtunnus.setText("Ryhmätunnus");

        jLabelPOtsikko.setFont(new java.awt.Font("DejaVu Sans", 1, 12));
        jLabelPOtsikko.setText("Projektin nimi");

        jLabelPKuvaus.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
        jLabelPKuvaus.setText("Kuvaus: Kuvausteksti ");

        jLabelPLinkki.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
        jLabelPLinkki.setText("Kotisivu: http://www.kotisivuesimerkki.fi");

        jLabelMPOtsikko.setFont(new java.awt.Font("DejaVu Sans", 1, 12));
        jLabelMPOtsikko.setText("Muistiinpanot");

        jLabelMPTeksti.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
        jLabelMPTeksti.setText("Muistiinpanojen tekstit  ");

        jLabelArviointi.setFont(new java.awt.Font("DejaVu Sans", 1, 12));
        jLabelArviointi.setText("Arviointi");

        jLabelArviointiteksti.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
        jLabelArviointiteksti.setText("Arvioinnin teksti");

        jLabelEmail.setFont(new java.awt.Font("DejaVu Sans", 0, 9));
        jLabelEmail.setText("Sähköpostiosoite");

        jLabelTOtsikko.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jLabelTOtsikko.setText("Tavoitteet");

        jLabelPVM.setFont(new java.awt.Font("DejaVu Sans", 0, 9));
        jLabelPVM.setText("Päivämäärä");

        jLabelMPTeksti1.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
        jLabelMPTeksti1.setText("Muistiinpanojen tekstit  ");

        jLabelTOtsikko1.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jLabelTOtsikko1.setText("Tavoitteet");

        javax.swing.GroupLayout jPanelPaperiLayout = new javax.swing.GroupLayout(jPanelPaperi);
        jPanelPaperi.setLayout(jPanelPaperiLayout);
        jPanelPaperiLayout.setHorizontalGroup(
            jPanelPaperiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelPaperiLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelPaperiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelPaperiLayout.createSequentialGroup()
                        .addComponent(jLabelEtunimi)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabelSukunimi))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelPaperiLayout.createSequentialGroup()
                        .addComponent(jLabelPOtsikko)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 135, Short.MAX_VALUE)
                        .addComponent(jLabelEmail))
                    .addComponent(jLabelOtunnus, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabelRtunnus, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelPaperiLayout.createSequentialGroup()
                        .addComponent(jLabelPKuvaus)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 152, Short.MAX_VALUE)
                        .addComponent(jLabelPVM))
                    .addComponent(jLabelPLinkki)
                    .addComponent(jLabelMPOtsikko)
                    .addComponent(jLabelTOtsikko)
                    .addComponent(jLabelMPTeksti)
                    .addComponent(jLabelTOtsikko1)
                    .addComponent(jLabelMPTeksti1)
                    .addComponent(jLabelArviointi)
                    .addComponent(jLabelArviointiteksti))
                .addContainerGap())
        );
        jPanelPaperiLayout.setVerticalGroup(
            jPanelPaperiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelPaperiLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelPaperiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelSukunimi)
                    .addComponent(jLabelEtunimi))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelOtunnus)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelRtunnus)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelPaperiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanelPaperiLayout.createSequentialGroup()
                        .addComponent(jLabelPOtsikko)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabelPKuvaus))
                    .addGroup(jPanelPaperiLayout.createSequentialGroup()
                        .addComponent(jLabelEmail)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabelPVM)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelPLinkki)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jLabelMPOtsikko)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelTOtsikko)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelMPTeksti)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelTOtsikko1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelMPTeksti1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jLabelArviointi)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelArviointiteksti)
                .addContainerGap(125, Short.MAX_VALUE))
        );

        jCheckBoxEtunimi.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxEtunimi.setSelected(true);
        jCheckBoxEtunimi.setText("Etunimi");
        jCheckBoxEtunimi.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxEtunimiStateChanged(evt);
            }
        });

        jCheckBoxSukunimi.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxSukunimi.setSelected(true);
        jCheckBoxSukunimi.setText("Sukunimi");
        jCheckBoxSukunimi.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxSukunimiStateChanged(evt);
            }
        });

        jCheckBoxOtunnus.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxOtunnus.setSelected(true);
        jCheckBoxOtunnus.setText("Opiskelijatunnus");
        jCheckBoxOtunnus.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxOtunnusStateChanged(evt);
            }
        });

        jButtonPeruuta.setText("Peruuta");
        jButtonPeruuta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonPeruutaActionPerformed(evt);
            }
        });

        jCheckBoxRtunnus.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxRtunnus.setSelected(true);
        jCheckBoxRtunnus.setText("Ryhmätunnus");
        jCheckBoxRtunnus.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxRtunnusStateChanged(evt);
            }
        });

        jLabelPaaOtsikko.setFont(new java.awt.Font("DejaVu Sans", 1, 13));
        jLabelPaaOtsikko.setText("Tulostusvalinnat");

        jLabelSelite.setText("Valitse tulostettavat tiedot:");

        jCheckBoxPOtsikko.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxPOtsikko.setSelected(true);
        jCheckBoxPOtsikko.setText("Otsikko projektille");
        jCheckBoxPOtsikko.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxPOtsikkoStateChanged(evt);
            }
        });

        jCheckBoxPKuvaus.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxPKuvaus.setSelected(true);
        jCheckBoxPKuvaus.setText("Projektin kuvaus");
        jCheckBoxPKuvaus.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxPKuvausStateChanged(evt);
            }
        });

        jCheckBoxPLinkki.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxPLinkki.setSelected(true);
        jCheckBoxPLinkki.setText("Projektin kotisivu");
        jCheckBoxPLinkki.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxPLinkkiStateChanged(evt);
            }
        });

        jCheckBoxMuistiinpanoOtsikko.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxMuistiinpanoOtsikko.setSelected(true);
        jCheckBoxMuistiinpanoOtsikko.setText("\"Muistiinpanot\" - otsikko");
        jCheckBoxMuistiinpanoOtsikko.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxMuistiinpanoOtsikkoStateChanged(evt);
            }
        });

        jCheckBoxArviointi.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxArviointi.setSelected(true);
        jCheckBoxArviointi.setText("Arviointi");
        jCheckBoxArviointi.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxArviointiStateChanged(evt);
            }
        });

        jCheckBoxEmail.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxEmail.setSelected(true);
        jCheckBoxEmail.setText("Sähköpostiosoite");
        jCheckBoxEmail.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxEmailStateChanged(evt);
            }
        });

        jCheckBoxTavoite.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxTavoite.setSelected(true);
        jCheckBoxTavoite.setText("Tavoite");
        jCheckBoxTavoite.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxTavoiteStateChanged(evt);
            }
        });

        jCheckBoxPVM.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxPVM.setSelected(true);
        jCheckBoxPVM.setText("Tulostuspäivämäärä");
        jCheckBoxPVM.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxPVMStateChanged(evt);
            }
        });

        jComboBoxFontti.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Valitse fontti", "Times", "Courier", "Helvetica" }));
        jComboBoxFontti.setToolTipText("Valitse haluamasi fontti");
        jComboBoxFontti.setBorder(new javax.swing.border.MatteBorder(null));
        jComboBoxFontti.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBoxFonttiActionPerformed(evt);
            }
        });

        jCheckBoxMuistiinpanotTeksti.setFont(new java.awt.Font("DejaVu Sans", 0, 12));
        jCheckBoxMuistiinpanotTeksti.setSelected(true);
        jCheckBoxMuistiinpanotTeksti.setText("Muistiinpanot");
        jCheckBoxMuistiinpanotTeksti.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jCheckBoxMuistiinpanotTekstiStateChanged(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelPaaOtsikko)
                    .addComponent(jCheckBoxOtunnus)
                    .addComponent(jCheckBoxRtunnus)
                    .addComponent(jCheckBoxEmail)
                    .addComponent(jLabelSelite)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jCheckBoxEtunimi)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxSukunimi))
                    .addComponent(jCheckBoxPVM)
                    .addComponent(jCheckBoxPOtsikko)
                    .addComponent(jCheckBoxPKuvaus)
                    .addComponent(jCheckBoxPLinkki)
                    .addComponent(jCheckBoxMuistiinpanoOtsikko)
                    .addComponent(jCheckBoxTavoite)
                    .addComponent(jCheckBoxArviointi)
                    .addComponent(jCheckBoxMuistiinpanotTeksti))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jComboBoxFontti, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 36, Short.MAX_VALUE)
                        .addComponent(jButtonPeruuta)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonTulosta, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jPanelPaperi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jPanelPaperi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButtonTulosta)
                            .addComponent(jButtonPeruuta)
                            .addComponent(jComboBoxFontti, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addComponent(jLabelPaaOtsikko)
                        .addGap(18, 18, 18)
                        .addComponent(jLabelSelite)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jCheckBoxEtunimi)
                            .addComponent(jCheckBoxSukunimi))
                        .addGap(2, 2, 2)
                        .addComponent(jCheckBoxOtunnus)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxRtunnus, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxEmail)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxPVM)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxPOtsikko)
                        .addGap(6, 6, 6)
                        .addComponent(jCheckBoxPKuvaus)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxPLinkki)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxMuistiinpanoOtsikko)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxTavoite)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxMuistiinpanotTeksti)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBoxArviointi)))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonTulostaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonTulostaActionPerformed

        if (jLabelEtunimi.isVisible() == false) {
            tkayttaja.setEtunimi(null);
        }
        if (jLabelSukunimi.isVisible() == false) {
            tkayttaja.setSukunimi(null);
        }
        if (jLabelOtunnus.isVisible() == false) {
            tkayttaja.setOtunnus(null);
        }
        if (jLabelRtunnus.isVisible() == false) {
            tkayttaja.setRtunnus(null);
        }
        if (jLabelEmail.isVisible() == false) {
            tkayttaja.setSahkoposti(null);
        }
        if (jLabelPOtsikko.isVisible() == false) {
            tprojekti.setNimi(null);
        }
        if (jLabelPKuvaus.isVisible() == false) {
            tprojekti.setEsittely(null);
        }
        if (jLabelPLinkki.isVisible() == false) {
            tprojekti.setLinkki(null);
        }
        if (jLabelMPOtsikko.isVisible() == false) {
            this.mpOtsikkoStatic = false;
        }
        if (jLabelArviointi.isVisible() == false) {
            tprojekti.setArviointi(null);
        }

        if (jLabelTOtsikko.isVisible() == false) {
            if (tprojekti.getMuistiinpanot().size() > 0) {
                for (Muistiinpano tavoite : tprojekti.getMuistiinpanot()) {
                    if (tavoite instanceof Tavoite) {
                        tavoite.setOtsikko(null);
                        tavoite.setAsia(null);
                        tavoite.setLinkki(null);
                    }
                }
            }
        }

        if (jLabelMPTeksti.isVisible() == false) {
            if (tprojekti.getMuistiinpanot().size() > 0) {
                for (Muistiinpano memo : tprojekti.getMuistiinpanot()) {
                    if (memo instanceof Memo) {
                        memo.setOtsikko(null);
                        memo.setAsia(null);
                        memo.setLinkki(null);
                    }
                }
            }
        }

        if (jLabelPVM.isVisible() == false){
            datetime = null;
        }

        Tulostus tulosta = new Tulostus(this, tkayttaja, tprojekti, datetime, mpOtsikkoStatic, fonttivalinta);
        tulosta.tulostettuDokumentti();
        this.setVisible(false);
}//GEN-LAST:event_jButtonTulostaActionPerformed

    private void jCheckBoxEtunimiStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxEtunimiStateChanged
        System.out.println("tila " + jCheckBoxEtunimi.isSelected());
        if (jCheckBoxEtunimi.isSelected() == true) {
            jLabelEtunimi.setVisible(true);

        }
        if (jCheckBoxEtunimi.isSelected() == false) {
            jLabelEtunimi.setVisible(false);
        }

    }//GEN-LAST:event_jCheckBoxEtunimiStateChanged

    private void jCheckBoxSukunimiStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxSukunimiStateChanged
        System.out.println("tila " + jCheckBoxSukunimi.isSelected());
        if (jCheckBoxSukunimi.isSelected() == true) {
            jLabelSukunimi.setVisible(true);

        }
        if (jCheckBoxSukunimi.isSelected() == false) {
            jLabelSukunimi.setVisible(false);
        }
    }//GEN-LAST:event_jCheckBoxSukunimiStateChanged

    private void jCheckBoxOtunnusStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxOtunnusStateChanged
        System.out.println("tila " + jCheckBoxOtunnus.isSelected());
        if (jCheckBoxOtunnus.isSelected() == true) {
            jLabelOtunnus.setVisible(true);
        }
        if (jCheckBoxOtunnus.isSelected() == false) {
            jLabelOtunnus.setVisible(false);
        }
    }//GEN-LAST:event_jCheckBoxOtunnusStateChanged

    private void jButtonPeruutaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonPeruutaActionPerformed
        this.setVisible(false);
    }//GEN-LAST:event_jButtonPeruutaActionPerformed

    private void jCheckBoxRtunnusStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxRtunnusStateChanged
        System.out.println("tila " + jCheckBoxRtunnus.isSelected());
        if (jCheckBoxRtunnus.isSelected() == true) {
            jLabelRtunnus.setVisible(true);
        }
        if (jCheckBoxRtunnus.isSelected() == false) {
            jLabelRtunnus.setVisible(false);
        }
    }//GEN-LAST:event_jCheckBoxRtunnusStateChanged

    private void jCheckBoxPOtsikkoStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxPOtsikkoStateChanged
        System.out.println("tila " + jCheckBoxPOtsikko.isSelected());
        if (jCheckBoxPOtsikko.isSelected() == true) {
            jLabelPOtsikko.setVisible(true);
        }
        if (jCheckBoxPOtsikko.isSelected() == false) {
            jLabelPOtsikko.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxPOtsikkoStateChanged

    private void jCheckBoxPKuvausStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxPKuvausStateChanged
        System.out.println("tila " + jCheckBoxPKuvaus.isSelected());
        if (jCheckBoxPKuvaus.isSelected() == true) {
            jLabelPKuvaus.setVisible(true);
        }
        if (jCheckBoxPKuvaus.isSelected() == false) {
            jLabelPKuvaus.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxPKuvausStateChanged

    private void jCheckBoxPLinkkiStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxPLinkkiStateChanged
        System.out.println("tila " + jCheckBoxPLinkki.isSelected());
        if (jCheckBoxPLinkki.isSelected() == true) {
            jLabelPLinkki.setVisible(true);
        }
        if (jCheckBoxPLinkki.isSelected() == false) {
            jLabelPLinkki.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxPLinkkiStateChanged

    private void jCheckBoxMuistiinpanoOtsikkoStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxMuistiinpanoOtsikkoStateChanged
        System.out.println("tila " + jCheckBoxMuistiinpanoOtsikko.isSelected());
        if (jCheckBoxMuistiinpanoOtsikko.isSelected() == true) {
            jLabelMPOtsikko.setVisible(true);
        }
        if (jCheckBoxMuistiinpanoOtsikko.isSelected() == false) {
            jLabelMPOtsikko.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxMuistiinpanoOtsikkoStateChanged

    private void jCheckBoxArviointiStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxArviointiStateChanged
        System.out.println("tila " + jCheckBoxArviointi.isSelected());
        if (jCheckBoxArviointi.isSelected() == true) {
            jLabelArviointi.setVisible(true);
            jLabelArviointiteksti.setVisible(true);
        }
        if (jCheckBoxArviointi.isSelected() == false) {
            jLabelArviointi.setVisible(false);
            jLabelArviointiteksti.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxArviointiStateChanged

    private void jCheckBoxEmailStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxEmailStateChanged
        System.out.println("tila " + jCheckBoxEmail.isSelected());
        if (jCheckBoxEmail.isSelected() == true) {
            jLabelEmail.setVisible(true);
        }
        if (jCheckBoxEmail.isSelected() == false) {
            jLabelEmail.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxEmailStateChanged

    private void jCheckBoxTavoiteStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxTavoiteStateChanged
        System.out.println("tila " + jCheckBoxTavoite.isSelected());
        if (jCheckBoxTavoite.isSelected() == true) {
            jLabelTOtsikko.setVisible(true);
            jLabelTOtsikko1.setVisible(true);

        }
        if (jCheckBoxTavoite.isSelected() == false) {
            jLabelTOtsikko.setVisible(false);
            jLabelTOtsikko1.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxTavoiteStateChanged

    private void jCheckBoxPVMStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxPVMStateChanged
        System.out.println("tila " + jCheckBoxPVM.isSelected());
        if (jCheckBoxPVM.isSelected() == true) {
            jLabelPVM.setVisible(true);
        }
        if (jCheckBoxPVM.isSelected() == false) {
            jLabelPVM.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxPVMStateChanged

    private void jComboBoxFonttiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBoxFonttiActionPerformed
        fonttivalinta = jComboBoxFontti.getSelectedIndex();
        System.out.println("Valittu fontti: " + fonttivalinta);
    }//GEN-LAST:event_jComboBoxFonttiActionPerformed

    private void jCheckBoxMuistiinpanotTekstiStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBoxMuistiinpanotTekstiStateChanged
        System.out.println("tila " + jCheckBoxMuistiinpanotTeksti.isSelected());
        if (jCheckBoxMuistiinpanotTeksti.isSelected() == true) {
            jLabelMPTeksti.setVisible(true);
            jLabelMPTeksti1.setVisible(true);
        }
        if (jCheckBoxMuistiinpanotTeksti.isSelected() == false) {
            jLabelMPTeksti.setVisible(false);
            jLabelMPTeksti1.setVisible(false);
        }
}//GEN-LAST:event_jCheckBoxMuistiinpanotTekstiStateChanged

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonPeruuta;
    private javax.swing.JButton jButtonTulosta;
    private javax.swing.JCheckBox jCheckBoxArviointi;
    private javax.swing.JCheckBox jCheckBoxEmail;
    private javax.swing.JCheckBox jCheckBoxEtunimi;
    private javax.swing.JCheckBox jCheckBoxMuistiinpanoOtsikko;
    private javax.swing.JCheckBox jCheckBoxMuistiinpanotTeksti;
    private javax.swing.JCheckBox jCheckBoxOtunnus;
    private javax.swing.JCheckBox jCheckBoxPKuvaus;
    private javax.swing.JCheckBox jCheckBoxPLinkki;
    private javax.swing.JCheckBox jCheckBoxPOtsikko;
    private javax.swing.JCheckBox jCheckBoxPVM;
    private javax.swing.JCheckBox jCheckBoxRtunnus;
    private javax.swing.JCheckBox jCheckBoxSukunimi;
    private javax.swing.JCheckBox jCheckBoxTavoite;
    private javax.swing.JComboBox jComboBoxFontti;
    private javax.swing.JLabel jLabelArviointi;
    private javax.swing.JLabel jLabelArviointiteksti;
    private javax.swing.JLabel jLabelEmail;
    private javax.swing.JLabel jLabelEtunimi;
    private javax.swing.JLabel jLabelMPOtsikko;
    private javax.swing.JLabel jLabelMPTeksti;
    private javax.swing.JLabel jLabelMPTeksti1;
    private javax.swing.JLabel jLabelOtunnus;
    private javax.swing.JLabel jLabelPKuvaus;
    private javax.swing.JLabel jLabelPLinkki;
    private javax.swing.JLabel jLabelPOtsikko;
    private javax.swing.JLabel jLabelPVM;
    private javax.swing.JLabel jLabelPaaOtsikko;
    private javax.swing.JLabel jLabelRtunnus;
    private javax.swing.JLabel jLabelSelite;
    private javax.swing.JLabel jLabelSukunimi;
    private javax.swing.JLabel jLabelTOtsikko;
    private javax.swing.JLabel jLabelTOtsikko1;
    private javax.swing.JPanel jPanelPaperi;
    private javax.swing.JSeparator jSeparator1;
    // End of variables declaration//GEN-END:variables
    // Projekti projekti;
    // Kayttaja kayttaja;
    Projekti tprojekti;
    Kayttaja tkayttaja;
    boolean mpOtsikkoStatic = true;
    //boolean pArviointiStatic = true;
}
